<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" isELIgnored="false" %>

<html>
<head>
    <meta charset="utf-8">
    <title>用户管理</title>
    <link rel="stylesheet" href="${pageContext.request.contextPath}/static/layui/css/layui.css">
</head>
<body style="margin-top: 80px">
<form class="layui-form" method="post">
    <div class="layui-form-item">
        <label class="layui-form-label">用户名</label>
        <div class="layui-input-inline">
            <input type="text" name="account" placeholder="请输入用户名" class="layui-input">
        </div>
        <label class="layui-form-label">真实姓名</label>
        <div class="layui-input-inline">
            <input type="text" name="real_name" placeholder="请输入真实姓名" class="layui-input">
        </div>
        <div class="layui-inline">
            <label class="layui-form-label">职位</label>
            <div class="layui-input-inline">
                <select name="role_id">
                    <option value="">请选择</option>
                    <c:forEach items="${sessionScope.role}" var="role">
                        <option value="${role.id}">${role.name}</option>
                    </c:forEach>
                </select>
            </div>
        </div>
        <button type="button" class="layui-btn" lay-submit lay-filter="query" >搜索</button>
        <button type="button" class="layui-btn" lay-submit lay-filter="add" >添加</button>
    </div>
</form>

<table id="roleTable" lay-filter="roleTable"></table>
<script type="text/html" id="switchTpl">
    <!-- 这里的 checked 的状态只是演示 -->
    <input type="checkbox" name="status" value="{{d.id}}" lay-skin="switch" lay-text="锁定|正常"
           lay-filter="status" {{ d.id == 0 ? 'checked' : '' }}>
</script>
<script type="text/html" id="ToolBar">
    <div class="layui-btn-container"><%--定义一个按钮组--%>
        <button class="layui-btn layui-btn-sm" lay-event="edit">编辑</button>
    </div>
</script>

<script src="${pageContext.request.contextPath}/static/layui/layui.all.js"></script>
<script>
    layui.use(['table','form','jquery'], function(){
        var table = layui.table;
        var form = layui.form;
        var $ = layui.$;
        form.on('submit(query)', function(data){
            //重新加载表格
            table.reload("roleTable",{
                where:{//查询条件
                    params:data.field// 会封装到LayRequest中的params中去
                },
                page:{
                    curr:1//当前页
                }
            })
            return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
        });
        form.on("submit(add)", function (data) {
            layer.open({
                title: "用户新增(密码默认为123456)",//标题
                type: 2,// 2 为iframe层，可以加载其他的页面到弹出层中
                content: "${pageContext.request.contextPath}/users/toAdd",
                area: ['500px', '500px'],//定义宽高
                maxmin: true//可以最大化
            });
            table.reload("roleTable",{
                where:{//查询条件
                    params:data.field// 会封装到LayRequest中的params中去
                },
                page:{
                    curr:1//当前页
                }
            })
            return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
        });
        //监听开关
        form.on('switch(status)', function(obj){
            layer.tips("修改成功"+ obj.elem.checked, obj.othis);
        });
        //行内操作栏监听事件
        table.on('tool(roleTable)', function(obj) { //注：tool 是工具条事件名，test 是 table 原始容器的属性 lay-filter="对应的值"
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值（也可以是表头的 event 参数对应的值）
            var tr = obj.tr; //获得当前行 tr 的 DOM 对象（如果有的话）
            switch (layEvent) {
                case 'edit':
                    layer.open({
                        title:"用户修改",//标题
                        type:2,// 2 为iframe层，可以加载其他的页面到弹出层中
                        content:"${pageContext.request.contextPath}/users/toupdate?id="+data.id,
                        area: ['500px', '400px'],//定义宽高
                        maxmin:true//可以最大化
                    })
                    return false; //阻止表单跳转。如果需要表单跳转，去掉这段即可。
                    break;
            }
        });

        //第一个实例
        table.render({
            elem: '#roleTable'
            ,height: 550
            ,url: '${pageContext.request.contextPath}/users/laylist' //数据接口
            ,page: true //开启分页
            ,defaultToolbar: ['filter', 'print', 'exports']//右侧工具栏
            ,cols: [[ //表头
                {field: 'account', title: '用户名', width:150, sort: true, fixed: 'left'}
                ,{field: 'real_name', title: '真实姓名', width:150}
                ,{field: 'phone_number', title: '电话号码', width:150}
                ,{field: 'email', title: '电子邮箱', width:150}
                ,{field: 'role_id', title: '职位', width:150,
                    templet:function (res) {//取对象属性中的属性
                        if(res.role!=null){
                            return res.role.name;
                        }
                        return "";
                    }
                },
                ,{field: 'create_time', title: '创建时间', width:160}
                ,{field: 'last_login_time', title: '上一次登录时间', width:180, sort: true}
                ,{field: 'status', title: '锁定状态',width:100, templet: '#switchTpl', unresize: true}
                ,{fixed: 'right', width:100, align:'center',title:'操作', toolbar: '#ToolBar'} //这里的toolbar值是模板元素的选择器
            ]]
        });
    });
</script>

</body>
</html>
